package com.spring.springcloud.Nginx.基本使用;

/**
 * 负载均衡
 * 用到集群中 (假设三台服务器(功能一样))
 * 我请求不能只在一台服务器发送请求
 *    需要在这三台 均衡的请求
 *
 *    算法：  轮询
 *
 *    如过 请求发给 1 了 但是1不行了
 *      就 retry (重试机制) 向2请求
 *
 *  配置见  nginx.conf
 *
 * 不常用的
 *
 * ip_hash
 *  根据客户端的 ip 地址转发同一台服务器，可以保持回话。
 *   如果手机端  在走路的时候  进入了另一个信号塔范围 导致ip切换 就失效了
 *
 * least_conn
 *   最少连接访问
 *   可能由于权重 连接少的就是应该少
 *
 * url_hash
 *  根据用户访问的urI定向转发请求
 *  将 url 比如 https://www.bilibili.com/video
 *  的值做 hash 相同 hash 向同一台服务器访问
 *  一般使用于静态文件
 *  需要第三方插件
 *
 * fair
 *  根据后端服务器响应时间转发请求
 *  会出现流量倾斜的风险 可能直接压跨弄个服务器
 *  需要下载第三方插件
 *
 *
 * 一般就用 轮询(会话没法保持 session 无法保持 导致cookie无法保持)
 * 可以用 单独一台服务器 redis  存 session 实现了session共享
 * 但是不适用于高并发场景
 *
 * 流行方式：
 * 用无状态会话
 *   也就是下发 token 会有一台专门下发token的服务器
 *   会给客户端返回一个 token 只有所有服务器能解开
 *   只要改了token 发现解不开 标识 此次访问是无效的
 *
 *
 *
 */
public class 负载均衡 {
}
